<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Array是一个数组类型</title>
	</head>
	<body>
		<script type="text/javascript">
			/* 
				关于JS中的数组
					1、怎么创建数组对象
					2、怎么遍历数组
					3、怎么修改数组中的某个元素
					4、怎么读取数组中的某个元素
					...
				
				java语言创建数组？
					String[] strs = {"abc", "def", "xyz"};
					
				JS语言创建数组？
					var strs = ["abc", "def", "xyz"];
			 */
			
			// 创建数组的第一种方式
			var a = []; //创建一个长度为0的数组对象
			
			// JS中数组中的元素类型可以不一致.
			var a2 = [12,3,4,5,6,false,true];
			
			// JS中数组的长度是可变的.
			console.log(a2[0])
			console.log(a2[a2.length - 1]) // 数组有length属性获取数组中元素的个数.
			
			// 没有扩容之前:[12,3,4,5,6,false,true]
			// a2[100]会导致自动扩容:[12,3,4,5,6,false,true,undefined,undefined,undefined....., 1234]
			// JS中数组没有下标越界这一说!
			a2[100] = 1234;
			console.log("数组的长度=" + a2.length) //数组的长度=101 (下标0到100，正好101个元素)
			console.log(a2[100]) // 1234
			console.log(a2[99]) // undefined
			console.log(a2[-100]) // undefined
			console.log(a2.length) //101 
			
			// 创建数组的第二种方式
			var arr1 = new Array(); // 创建长度为0的数组
			console.log(arr1.length) //0
			
			var arr2 = new Array(3); // 创建长度为3的数组
			console.log(arr2.length) // 3
			
			for(var i = 0; i < arr2.length; i++){
				// 3个undefined
				console.log("---->" + arr2[i])
			}
			
			var arr3 = new Array(1, 2, 3, 54, 67, 7); // 创建有指定值的数组
			console.log(arr3.length) // 6
			
			for(var i = 0; i < arr3.length; i++){
				console.log("$$$$$$=====>" + arr3[i])
			}
			
			arr3[3] = 45;
			
			for(var i = 0; i < arr3.length; i++){
				console.log("******=====>" + arr3[i])
			}
			
			
		</script>
	</body>
</html>
